home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / disk / cdrom / MusicBox-2.1os.lha / MusicBox / MusicBox.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-29  |  4.2 KB  |  163 lines

  1. /*
  2.  ##########################################################################
  3.  ####                                                                  ####
  4.  ####                        The MusicBox Project                      ####
  5.  ####                    ============================                  ####
  6.  ####                                                                  ####
  7.  #### MusicBox.h                                                       ####
  8.  ####                                                                  ####
  9.  #### Version 2.1os  --  September 29, 2000                            ####
  10.  ####                                                                  ####
  11.  #### Copyright (C) 1994  Thomas Dreibholz                             ####
  12.  ####               2000  Molbachweg 7                                 ####
  13.  ####                     51674 Wiehl                                  ####
  14.  ####                     Germany                                      ####
  15.  ####                                                                  ####
  16.  ####                     EMail: Dreibholz@bigfoot.com                 ####
  17.  ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
  18.  ####                                                                  ####
  19.  ##########################################################################
  20. */
  21. /***************************************************************************
  22.  *                                                                         *
  23.  *   This program is free software; you can redistribute it and/or modify  *
  24.  *   it under the terms of the GNU General Public License as published by  *
  25.  *   the Free Software Foundation; either version 2 of the License, or     *
  26.  *   (at your option) any later version.                                   *
  27.  *                                                                         *
  28.  ***************************************************************************/
  29.  
  30. /* MusicBox Konstanten und Strukturen */
  31.  
  32. #define TRACK_ANFANG 0
  33. #define CD_ANFANG    1
  34. #define TRACK_ENDE   2
  35. #define CD_ENDE      3
  36.  
  37. #define ZEIT         0
  38. #define ADRESSE      1
  39. #define PROZENT      2
  40. #define MEGABYTES    3
  41.  
  42. #define FARBE 2
  43.  
  44. #define ZEIT_TICKS    7
  45. #define ADRESSE_TICKS 5
  46.  
  47. #define DATEN 1
  48. #define AUDIO 2
  49.  
  50. #define AUDIO_LINKS  1
  51. #define AUDIO_RECHTS 2
  52. #define AUDIO_BEIDE  3
  53. #define AUDIO_AUS    0
  54.  
  55. #define STANDBY    0
  56. #define WIEDERGABE 1
  57. #define PAUSE      2
  58. #define STOP       3
  59. #define VORLAUF    4
  60. #define RUECKLAUF  5
  61. #define PLUS       6
  62. #define MINUS      7
  63. #define AUTO       8
  64. #define POSITION   9
  65.  
  66. #define AUS         0
  67. #define JOYSTICK_I  1
  68. #define JOYSTICK_II 2
  69.  
  70. #define LISTE  0
  71. #define ZUFALL 1
  72.  
  73. struct Einstellungen
  74. {
  75.  UWORD AutoCnt;
  76.  ULONG Adresse;
  77.  UWORD VolumenL;
  78.  UWORD VolumenR;
  79.  UBYTE AudioL;
  80.  UBYTE AudioR;
  81.  UBYTE Lock;
  82.  UBYTE CDEingelegt;
  83.  UBYTE CDTyp;
  84.  UBYTE CDKatalogisiert;
  85.  UBYTE SCSI;
  86.  UBYTE Funktion;
  87.  UBYTE Kontrolle;
  88.  UBYTE Track;
  89.  UBYTE IntuiTicks;
  90.  UBYTE TickCnt;
  91.  UBYTE Toshiba;
  92.  UBYTE Anzeige;
  93.  UBYTE Auswahl;
  94.  UBYTE Titel;
  95.  UBYTE Format;
  96.  UBYTE CatChange;
  97.  UBYTE Num;
  98.  UBYTE NumS;
  99.  UBYTE AutoRepeat;
  100.  UBYTE AutoStart;
  101.  UBYTE AutoSave;
  102.  UBYTE Kopplung;
  103.  UBYTE AutoLoad;
  104.  UBYTE AutoFlush;
  105.  UBYTE Auswahlmodus;
  106. };
  107.  
  108. struct AudioTrack
  109. {
  110.  ULONG SAdresse;
  111.  ULONG TAdresse;
  112.  
  113.  UBYTE SMinute;      /* Anfang des Tracks */
  114.  UBYTE SSekunde;
  115.  UBYTE SFrame;
  116.  UBYTE TMinute;      /* Größe des Tracks  */
  117.  UBYTE TSekunde;
  118.  UBYTE TFrame;
  119. };
  120.  
  121. struct ThisCD
  122. {
  123.  UBYTE             ErsterTrack;
  124.  UBYTE             LetzterTrack;
  125.  ULONG             Endadresse;
  126.  ULONG             Startadresse;
  127.  UBYTE             Anzahl;
  128.  UBYTE             pad;
  129.  ULONG             ID;
  130.  struct AudioTrack Track[100];
  131. };
  132.  
  133. struct ThisDrive
  134. {
  135.  UBYTE Vendor[20];
  136.  UBYTE Product[20];
  137.  UBYTE Revision[8];
  138. };
  139.  
  140. struct KatalogEintrag
  141. {
  142.  UBYTE Titel[50];
  143.  ULONG SAdresse;
  144.  ULONG TAdresse;
  145. };
  146.  
  147. struct Katalog
  148. {
  149.  UBYTE                 ID[4];
  150.  UWORD                 KatalogVersion;
  151.  ULONG                 DiscID;
  152.  ULONG                 Anzahl;
  153.  UBYTE                 CDName[50];
  154.  struct KatalogEintrag KE[99];
  155. };
  156.  
  157. #define KSIZE(k) ((4+2+4+4+50)+k->Anzahl*sizeof(struct KatalogEintrag))
  158.  
  159. #define VERSTR   "$VER: MusicBox 2.1os (29 Sep 2000) - Copyright (C) 1994-2000 by Thomas Dreibholz"
  160. #define TITEL    "Music Box - Version 2.1os"
  161. #define VERSION  210
  162.  
  163.